{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "0ae27d5e",
   "metadata": {},
   "outputs": [],
   "source": [
    "from vnpy.trader.optimize import OptimizationSetting\n",
    "from vnpy_ctastrategy.backtesting import BacktestingEngine\n",
    "from vnpy_ctastrategy.strategies.atr_rsi_strategy import (\n",
    "    AtrRsiStrategy,\n",
    ")\n",
    "from vnpy.trader.setting import  SETTINGS\n",
    "\n",
    "from datetime import datetime"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "43edd09c",
   "metadata": {},
   "outputs": [],
   "source": [
    "engine = BacktestingEngine()\n",
    "engine.set_parameters(\n",
    "    vt_symbol=\"600000.SSE\",\n",
    "    interval=\"d\",\n",
    "    start=datetime(2024, 1, 1),\n",
    "    end=datetime(2024, 12, 30),\n",
    "    rate=0.3/10000,\n",
    "    slippage=0.2,\n",
    "    size=300,\n",
    "    pricetick=0.1,\n",
    "    capital=1_000_000,\n",
    ")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b8dcdff7",
   "metadata": {},
   "outputs": [],
   "source": [
    "from vnpy_tushare.tushare_datafeed import TushareDatafeed\n",
    "from vnpy.trader.object import HistoryRequest\n",
    "from vnpy.trader.constant import Exchange,Interval\n",
    "from datetime import datetime\n",
    "\n",
    "tsengine=TushareDatafeed()\n",
    "\n",
    "req=HistoryRequest(\"600000\",Exchange.SSE,datetime(2024,1,1,0,0,0),datetime(2024,12,31,23,59,59),Interval.DAILY)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "c8c46bdd",
   "metadata": {},
   "outputs": [],
   "source": [
    "data=tsengine.query_bar_history(req)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "e8f9e25e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 2, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=220667.0, turnover=146066.304, open_interest=0, open_price=6.63, high_price=6.65, low_price=6.6, close_price=6.6), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 3, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=182036.54, turnover=120639.706, open_interest=0, open_price=6.59, high_price=6.65, low_price=6.59, close_price=6.64), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=288859.78, turnover=190580.61, open_interest=0, open_price=6.64, high_price=6.67, low_price=6.55, close_price=6.62), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=444213.87, turnover=296976.886, open_interest=0, open_price=6.6, high_price=6.76, low_price=6.59, close_price=6.68), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=375203.37, turnover=247977.825, open_interest=0, open_price=6.68, high_price=6.71, low_price=6.56, close_price=6.59), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 9, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=307418.97, turnover=202647.646, open_interest=0, open_price=6.6, high_price=6.64, low_price=6.54, close_price=6.61), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 10, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=222409.46, turnover=146695.926, open_interest=0, open_price=6.61, high_price=6.63, low_price=6.57, close_price=6.57), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=359147.08, turnover=235312.058, open_interest=0, open_price=6.56, high_price=6.59, low_price=6.52, close_price=6.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=346240.53, turnover=225743.841, open_interest=0, open_price=6.52, high_price=6.56, low_price=6.5, close_price=6.5), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 15, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=286941.55, turnover=186476.698, open_interest=0, open_price=6.5, high_price=6.54, low_price=6.47, close_price=6.51), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 16, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=531864.96, turnover=348808.283, open_interest=0, open_price=6.49, high_price=6.6, low_price=6.49, close_price=6.59), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 17, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=482498.69, turnover=316982.892, open_interest=0, open_price=6.58, high_price=6.62, low_price=6.52, close_price=6.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=739944.22, turnover=477803.91, open_interest=0, open_price=6.53, high_price=6.58, low_price=6.36, close_price=6.56), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=576400.79, turnover=378165.075, open_interest=0, open_price=6.52, high_price=6.62, low_price=6.47, close_price=6.59), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=671734.8, turnover=445086.465, open_interest=0, open_price=6.58, high_price=6.67, low_price=6.53, close_price=6.59), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=332985.31, turnover=218923.249, open_interest=0, open_price=6.58, high_price=6.65, low_price=6.5, close_price=6.62), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=537464.98, turnover=358343.157, open_interest=0, open_price=6.64, high_price=6.73, low_price=6.6, close_price=6.71), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=502568.71, turnover=339203.853, open_interest=0, open_price=6.73, high_price=6.8, low_price=6.7, close_price=6.77), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=709979.33, turnover=485347.721, open_interest=0, open_price=6.78, high_price=6.91, low_price=6.75, close_price=6.87), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=552699.21, turnover=381908.899, open_interest=0, open_price=6.86, high_price=6.97, low_price=6.85, close_price=6.9), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 30, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=407370.46, turnover=280193.766, open_interest=0, open_price=6.9, high_price=6.95, low_price=6.82, close_price=6.83), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 1, 31, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=456619.99, turnover=311141.441, open_interest=0, open_price=6.81, high_price=6.88, low_price=6.74, close_price=6.83), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=442524.21, turnover=302115.56, open_interest=0, open_price=6.83, high_price=6.88, low_price=6.78, close_price=6.8), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 2, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=594829.13, turnover=407459.71, open_interest=0, open_price=6.82, high_price=6.92, low_price=6.72, close_price=6.84), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=827136.95, turnover=566786.78, open_interest=0, open_price=6.84, high_price=6.92, low_price=6.76, close_price=6.89), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 6, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=716832.18, turnover=498307.471, open_interest=0, open_price=6.89, high_price=7.0, low_price=6.86, close_price=7.0), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 7, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=837312.96, turnover=580014.441, open_interest=0, open_price=7.02, high_price=7.03, low_price=6.85, close_price=6.94), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=671647.44, turnover=463209.888, open_interest=0, open_price=6.95, high_price=6.97, low_price=6.82, close_price=6.96), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=578697.88, turnover=407648.425, open_interest=0, open_price=6.98, high_price=7.13, low_price=6.95, close_price=7.12), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 20, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=324089.54, turnover=230505.757, open_interest=0, open_price=7.13, high_price=7.15, low_price=7.06, close_price=7.1), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 21, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=588095.54, turnover=426038.72, open_interest=0, open_price=7.11, high_price=7.32, low_price=7.09, close_price=7.24), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=336652.09, turnover=242967.428, open_interest=0, open_price=7.24, high_price=7.27, low_price=7.18, close_price=7.21), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=379396.0, turnover=276331.224, open_interest=0, open_price=7.21, high_price=7.33, low_price=7.2, close_price=7.28), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=424830.7, turnover=304097.864, open_interest=0, open_price=7.26, high_price=7.28, low_price=7.09, close_price=7.1), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 27, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=248622.46, turnover=176742.732, open_interest=0, open_price=7.07, high_price=7.15, low_price=7.06, close_price=7.14), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 28, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=358267.14, turnover=255229.186, open_interest=0, open_price=7.12, high_price=7.16, low_price=7.08, close_price=7.1), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 2, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=342882.17, turnover=244498.953, open_interest=0, open_price=7.11, high_price=7.17, low_price=7.09, close_price=7.15), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=294318.01, turnover=209474.048, open_interest=0, open_price=7.13, high_price=7.16, low_price=7.1, close_price=7.11), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=278559.63, turnover=197157.05, open_interest=0, open_price=7.12, high_price=7.12, low_price=7.05, close_price=7.07), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=417562.32, turnover=297676.104, open_interest=0, open_price=7.05, high_price=7.18, low_price=7.04, close_price=7.16), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 6, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=259187.49, turnover=185847.81, open_interest=0, open_price=7.17, high_price=7.22, low_price=7.12, close_price=7.12), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 7, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=246903.48, turnover=176664.369, open_interest=0, open_price=7.12, high_price=7.2, low_price=7.11, close_price=7.14), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=198617.94, turnover=141724.066, open_interest=0, open_price=7.12, high_price=7.17, low_price=7.11, close_price=7.12), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=261954.98, turnover=185957.986, open_interest=0, open_price=7.13, high_price=7.17, low_price=7.06, close_price=7.11), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=290304.76, turnover=206425.806, open_interest=0, open_price=7.11, high_price=7.15, low_price=7.08, close_price=7.1), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 13, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=259484.61, turnover=183084.895, open_interest=0, open_price=7.12, high_price=7.12, low_price=7.03, close_price=7.04), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 14, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=187035.56, turnover=131973.016, open_interest=0, open_price=7.04, high_price=7.09, low_price=7.03, close_price=7.04), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 15, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=295995.44, turnover=208970.012, open_interest=0, open_price=7.04, high_price=7.09, low_price=7.03, close_price=7.09), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=265584.72, turnover=188382.26, open_interest=0, open_price=7.06, high_price=7.13, low_price=7.06, close_price=7.09), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=228487.15, turnover=160809.198, open_interest=0, open_price=7.08, high_price=7.08, low_price=7.01, close_price=7.01), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 20, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=195429.93, turnover=137292.232, open_interest=0, open_price=7.01, high_price=7.06, low_price=6.98, close_price=7.03), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 21, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=419248.7, turnover=297257.99, open_interest=0, open_price=7.06, high_price=7.13, low_price=7.03, close_price=7.1), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=359604.53, turnover=252638.802, open_interest=0, open_price=7.08, high_price=7.12, low_price=6.96, close_price=7.04), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=244395.36, turnover=172644.827, open_interest=0, open_price=7.06, high_price=7.09, low_price=7.01, close_price=7.06), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=351115.22, turnover=250044.91, open_interest=0, open_price=7.09, high_price=7.15, low_price=7.07, close_price=7.15), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 27, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=419430.66, turnover=301380.7, open_interest=0, open_price=7.14, high_price=7.23, low_price=7.11, close_price=7.17), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 28, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=345359.66, turnover=246970.623, open_interest=0, open_price=7.19, high_price=7.2, low_price=7.11, close_price=7.17), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 3, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=181388.85, turnover=129562.451, open_interest=0, open_price=7.13, high_price=7.19, low_price=7.11, close_price=7.13), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=360288.32, turnover=259657.244, open_interest=0, open_price=7.15, high_price=7.24, low_price=7.14, close_price=7.23), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 2, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=350951.7, turnover=255236.21, open_interest=0, open_price=7.24, high_price=7.31, low_price=7.22, close_price=7.27), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 3, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=252541.07, turnover=182860.244, open_interest=0, open_price=7.23, high_price=7.28, low_price=7.19, close_price=7.23), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=327644.93, turnover=238582.732, open_interest=0, open_price=7.23, high_price=7.32, low_price=7.19, close_price=7.28), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 9, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=203355.43, turnover=147972.234, open_interest=0, open_price=7.29, high_price=7.32, low_price=7.25, close_price=7.26), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 10, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=224367.26, turnover=163551.937, open_interest=0, open_price=7.26, high_price=7.33, low_price=7.23, close_price=7.27), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=253642.41, turnover=183441.392, open_interest=0, open_price=7.23, high_price=7.28, low_price=7.19, close_price=7.24), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=328097.31, turnover=235493.71, open_interest=0, open_price=7.2, high_price=7.26, low_price=7.12, close_price=7.13), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 15, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=483103.04, turnover=350007.626, open_interest=0, open_price=7.12, high_price=7.3, low_price=7.12, close_price=7.3), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 16, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=402033.25, turnover=292494.126, open_interest=0, open_price=7.25, high_price=7.32, low_price=7.21, close_price=7.26), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 17, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=431518.57, turnover=314102.077, open_interest=0, open_price=7.26, high_price=7.35, low_price=7.18, close_price=7.34), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=468224.76, turnover=345482.146, open_interest=0, open_price=7.34, high_price=7.46, low_price=7.31, close_price=7.33), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=380041.6, turnover=278975.86, open_interest=0, open_price=7.32, high_price=7.4, low_price=7.26, close_price=7.34), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=326946.9, turnover=240124.244, open_interest=0, open_price=7.36, high_price=7.43, low_price=7.28, close_price=7.29), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=440556.44, turnover=323208.6, open_interest=0, open_price=7.32, high_price=7.4, low_price=7.25, close_price=7.34), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=247588.59, turnover=181997.245, open_interest=0, open_price=7.38, high_price=7.4, low_price=7.3, close_price=7.36), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=246769.34, turnover=182019.255, open_interest=0, open_price=7.33, high_price=7.42, low_price=7.31, close_price=7.41), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=458465.71, turnover=339924.206, open_interest=0, open_price=7.41, high_price=7.48, low_price=7.35, close_price=7.42), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=393177.57, turnover=292685.761, open_interest=0, open_price=7.39, high_price=7.52, low_price=7.3, close_price=7.42), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 4, 30, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=1054727.88, turnover=813284.484, open_interest=0, open_price=7.58, high_price=7.84, low_price=7.56, close_price=7.7), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 6, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=859373.25, turnover=673787.209, open_interest=0, open_price=7.82, high_price=7.89, low_price=7.75, close_price=7.85), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 7, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=462695.05, turnover=360376.178, open_interest=0, open_price=7.85, high_price=7.86, low_price=7.72, close_price=7.82), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=303778.93, turnover=237540.8, open_interest=0, open_price=7.81, high_price=7.85, low_price=7.78, close_price=7.8), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 9, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=339420.9, turnover=264867.396, open_interest=0, open_price=7.8, high_price=7.85, low_price=7.76, close_price=7.8), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 10, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=522116.12, turnover=412342.285, open_interest=0, open_price=7.81, high_price=7.95, low_price=7.8, close_price=7.94), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 13, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=404221.2, turnover=320678.361, open_interest=0, open_price=7.93, high_price=7.98, low_price=7.87, close_price=7.96), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 14, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=398436.41, turnover=314999.43, open_interest=0, open_price=7.97, high_price=7.98, low_price=7.86, close_price=7.88), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 15, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=310391.03, turnover=244683.418, open_interest=0, open_price=7.9, high_price=7.93, low_price=7.84, close_price=7.89), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 16, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=606587.07, turnover=485813.395, open_interest=0, open_price=7.92, high_price=8.05, low_price=7.88, close_price=8.02), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 17, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=694380.51, turnover=561342.802, open_interest=0, open_price=8.04, high_price=8.16, low_price=8.0, close_price=8.16), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 20, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=881449.91, turnover=731104.374, open_interest=0, open_price=8.2, high_price=8.35, low_price=8.15, close_price=8.32), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 21, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=531462.95, turnover=445171.663, open_interest=0, open_price=8.31, high_price=8.42, low_price=8.26, close_price=8.42), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=711732.13, turnover=605588.076, open_interest=0, open_price=8.41, high_price=8.62, low_price=8.38, close_price=8.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=612122.93, turnover=522802.575, open_interest=0, open_price=8.52, high_price=8.6, low_price=8.48, close_price=8.52), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=607406.01, turnover=516406.884, open_interest=0, open_price=8.51, high_price=8.59, low_price=8.41, close_price=8.44), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 27, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=528586.89, turnover=449932.564, open_interest=0, open_price=8.45, high_price=8.56, low_price=8.43, close_price=8.54), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 28, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=400473.22, turnover=342904.48, open_interest=0, open_price=8.58, high_price=8.64, low_price=8.51, close_price=8.54), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=408023.85, turnover=347290.25, open_interest=0, open_price=8.53, high_price=8.59, low_price=8.45, close_price=8.49), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 30, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=567015.95, turnover=479146.211, open_interest=0, open_price=8.47, high_price=8.55, low_price=8.36, close_price=8.4), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 5, 31, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=537973.04, turnover=449689.002, open_interest=0, open_price=8.45, high_price=8.45, low_price=8.31, close_price=8.34), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 3, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=602136.94, turnover=496075.056, open_interest=0, open_price=8.3, high_price=8.33, low_price=8.19, close_price=8.28), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=398004.53, turnover=330354.916, open_interest=0, open_price=8.28, high_price=8.34, low_price=8.23, close_price=8.32), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=312957.87, turnover=259659.811, open_interest=0, open_price=8.33, high_price=8.34, low_price=8.26, close_price=8.29), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 6, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=341495.89, turnover=283171.544, open_interest=0, open_price=8.31, high_price=8.35, low_price=8.24, close_price=8.25), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 7, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=414516.77, turnover=344132.159, open_interest=0, open_price=8.32, high_price=8.38, low_price=8.2, close_price=8.31), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=411323.94, turnover=337102.415, open_interest=0, open_price=8.34, high_price=8.36, low_price=8.11, close_price=8.15), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=386177.41, turnover=312851.351, open_interest=0, open_price=8.15, high_price=8.17, low_price=8.04, close_price=8.11), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 13, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=404337.04, turnover=329399.974, open_interest=0, open_price=8.1, high_price=8.2, low_price=8.09, close_price=8.13), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 14, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=444630.16, turnover=359834.402, open_interest=0, open_price=8.1, high_price=8.18, low_price=7.99, close_price=8.14), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 17, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=362784.23, turnover=293415.748, open_interest=0, open_price=8.15, high_price=8.16, low_price=8.03, close_price=8.1), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=328761.91, turnover=265920.571, open_interest=0, open_price=8.1, high_price=8.15, low_price=8.02, close_price=8.09), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=406051.09, turnover=332732.412, open_interest=0, open_price=8.1, high_price=8.26, low_price=8.09, close_price=8.22), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 20, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=256623.17, turnover=210632.866, open_interest=0, open_price=8.18, high_price=8.26, low_price=8.15, close_price=8.2), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 21, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=400113.66, turnover=327124.974, open_interest=0, open_price=8.2, high_price=8.23, low_price=8.12, close_price=8.17), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=370466.66, turnover=301011.768, open_interest=0, open_price=8.19, high_price=8.2, low_price=8.03, close_price=8.15), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=398180.93, turnover=326580.576, open_interest=0, open_price=8.18, high_price=8.25, low_price=8.09, close_price=8.2), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=335637.36, turnover=274593.635, open_interest=0, open_price=8.2, high_price=8.23, low_price=8.13, close_price=8.21), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 27, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=445615.28, turnover=366021.816, open_interest=0, open_price=8.21, high_price=8.3, low_price=8.13, close_price=8.22), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 6, 28, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=377996.8, turnover=311360.174, open_interest=0, open_price=8.22, high_price=8.29, low_price=8.17, close_price=8.23), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=287329.62, turnover=237294.502, open_interest=0, open_price=8.22, high_price=8.3, low_price=8.2, close_price=8.28), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 2, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=573458.1, turnover=485897.424, open_interest=0, open_price=8.27, high_price=8.54, low_price=8.27, close_price=8.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 3, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=464096.68, turnover=396512.668, open_interest=0, open_price=8.53, high_price=8.6, low_price=8.48, close_price=8.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=444120.66, turnover=379773.335, open_interest=0, open_price=8.59, high_price=8.63, low_price=8.48, close_price=8.5), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=519970.18, turnover=436429.581, open_interest=0, open_price=8.54, high_price=8.55, low_price=8.29, close_price=8.34), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=453207.96, turnover=381472.461, open_interest=0, open_price=8.34, high_price=8.49, low_price=8.26, close_price=8.43), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 9, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=545341.87, turnover=466546.717, open_interest=0, open_price=8.47, high_price=8.66, low_price=8.41, close_price=8.64), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 10, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=406045.6, turnover=352263.036, open_interest=0, open_price=8.64, high_price=8.72, low_price=8.6, close_price=8.69), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=349461.81, turnover=301339.421, open_interest=0, open_price=8.71, high_price=8.73, low_price=8.56, close_price=8.6), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=572676.92, turnover=503070.724, open_interest=0, open_price=8.63, high_price=8.85, low_price=8.61, close_price=8.84), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 15, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=461914.87, turnover=409364.22, open_interest=0, open_price=8.83, high_price=8.91, low_price=8.8, close_price=8.88), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 16, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=446803.22, turnover=397093.12, open_interest=0, open_price=8.87, high_price=8.95, low_price=8.82, close_price=8.86), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 17, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=881192.89, turnover=794489.956, open_interest=0, open_price=8.9, high_price=9.07, low_price=8.86, close_price=9.04), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=662095.04, turnover=575924.982, open_interest=0, open_price=8.75, high_price=8.78, low_price=8.61, close_price=8.77), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=619413.34, turnover=539610.903, open_interest=0, open_price=8.79, high_price=8.79, low_price=8.62, close_price=8.73), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=632289.17, turnover=543154.122, open_interest=0, open_price=8.71, high_price=8.73, low_price=8.52, close_price=8.58), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=411815.12, turnover=356167.715, open_interest=0, open_price=8.62, high_price=8.69, low_price=8.59, close_price=8.59), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=375517.29, turnover=322441.687, open_interest=0, open_price=8.61, high_price=8.68, low_price=8.54, close_price=8.55), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=601560.87, turnover=508007.084, open_interest=0, open_price=8.58, high_price=8.58, low_price=8.32, close_price=8.52), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=493589.78, turnover=411165.38, open_interest=0, open_price=8.48, high_price=8.52, low_price=8.24, close_price=8.33), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=464638.48, turnover=395067.013, open_interest=0, open_price=8.33, high_price=8.57, low_price=8.3, close_price=8.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 30, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=405842.73, turnover=341513.55, open_interest=0, open_price=8.54, high_price=8.54, low_price=8.36, close_price=8.39), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 7, 31, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=434296.41, turnover=365181.48, open_interest=0, open_price=8.45, high_price=8.46, low_price=8.35, close_price=8.4), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=545601.5, turnover=464982.61, open_interest=0, open_price=8.4, high_price=8.61, low_price=8.34, close_price=8.57), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 2, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=313615.31, turnover=266363.129, open_interest=0, open_price=8.56, high_price=8.6, low_price=8.4, close_price=8.47), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=411788.38, turnover=346404.332, open_interest=0, open_price=8.47, high_price=8.52, low_price=8.35, close_price=8.38), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 6, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=416040.73, turnover=344150.545, open_interest=0, open_price=8.43, high_price=8.45, low_price=8.19, close_price=8.24), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 7, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=265422.23, turnover=220186.459, open_interest=0, open_price=8.23, high_price=8.37, low_price=8.22, close_price=8.31), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=276690.55, turnover=231992.004, open_interest=0, open_price=8.36, high_price=8.45, low_price=8.29, close_price=8.38), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 9, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=391201.01, turnover=334119.265, open_interest=0, open_price=8.41, high_price=8.6, low_price=8.41, close_price=8.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=292499.59, turnover=250903.225, open_interest=0, open_price=8.51, high_price=8.63, low_price=8.49, close_price=8.58), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 13, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=272115.5, turnover=234443.969, open_interest=0, open_price=8.56, high_price=8.67, low_price=8.54, close_price=8.59), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 14, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=211456.86, turnover=181445.555, open_interest=0, open_price=8.63, high_price=8.65, low_price=8.54, close_price=8.57), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 15, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=450662.16, turnover=392033.45, open_interest=0, open_price=8.51, high_price=8.75, low_price=8.51, close_price=8.74), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 16, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=375669.33, turnover=331065.667, open_interest=0, open_price=8.74, high_price=8.86, low_price=8.7, close_price=8.85), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=589379.89, turnover=528390.434, open_interest=0, open_price=8.86, high_price=9.03, low_price=8.84, close_price=9.02), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 20, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=501888.19, turnover=449704.844, open_interest=0, open_price=9.01, high_price=9.07, low_price=8.88, close_price=8.91), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 21, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=436280.79, turnover=390145.317, open_interest=0, open_price=8.91, high_price=9.04, low_price=8.82, close_price=8.96), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=362642.6, turnover=327034.943, open_interest=0, open_price=8.96, high_price=9.07, low_price=8.93, close_price=9.01), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=316987.49, turnover=284739.205, open_interest=0, open_price=9.01, high_price=9.04, low_price=8.9, close_price=9.0), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=514446.28, turnover=457039.669, open_interest=0, open_price=9.0, high_price=9.0, low_price=8.83, close_price=8.88), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 27, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=306833.75, turnover=272898.056, open_interest=0, open_price=8.87, high_price=8.94, low_price=8.82, close_price=8.88), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 28, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=325285.23, turnover=287017.718, open_interest=0, open_price=8.92, high_price=8.93, low_price=8.76, close_price=8.82), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=509496.48, turnover=438959.414, open_interest=0, open_price=8.82, high_price=8.83, low_price=8.53, close_price=8.55), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 8, 30, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=683544.43, turnover=579069.797, open_interest=0, open_price=8.54, high_price=8.62, low_price=8.38, close_price=8.43), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 2, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=421785.96, turnover=355164.736, open_interest=0, open_price=8.37, high_price=8.5, low_price=8.35, close_price=8.39), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 3, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=412571.57, turnover=340798.502, open_interest=0, open_price=8.38, high_price=8.43, low_price=8.2, close_price=8.25), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=341871.9, turnover=284531.822, open_interest=0, open_price=8.29, high_price=8.37, low_price=8.23, close_price=8.32), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=361767.13, turnover=300240.961, open_interest=0, open_price=8.38, high_price=8.41, low_price=8.23, close_price=8.32), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 6, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=322937.01, turnover=273118.542, open_interest=0, open_price=8.33, high_price=8.51, low_price=8.32, close_price=8.43), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 9, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=342903.73, turnover=287989.234, open_interest=0, open_price=8.44, high_price=8.47, low_price=8.32, close_price=8.38), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 10, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=396941.36, turnover=333986.132, open_interest=0, open_price=8.38, high_price=8.53, low_price=8.29, close_price=8.5), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=293959.61, turnover=244556.166, open_interest=0, open_price=8.48, high_price=8.49, low_price=8.21, close_price=8.25), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=431281.08, turnover=362723.423, open_interest=0, open_price=8.21, high_price=8.49, low_price=8.19, close_price=8.47), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 13, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=284111.41, turnover=238422.069, open_interest=0, open_price=8.5, high_price=8.51, low_price=8.32, close_price=8.35), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=201394.28, turnover=167778.133, open_interest=0, open_price=8.35, high_price=8.45, low_price=8.26, close_price=8.32), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=391638.24, turnover=330778.714, open_interest=0, open_price=8.37, high_price=8.53, low_price=8.3, close_price=8.52), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 20, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=428723.3, turnover=364859.462, open_interest=0, open_price=8.49, high_price=8.57, low_price=8.43, close_price=8.51), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=300238.95, turnover=257517.875, open_interest=0, open_price=8.53, high_price=8.65, low_price=8.46, close_price=8.63), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=892080.35, turnover=795774.265, open_interest=0, open_price=8.75, high_price=9.09, low_price=8.66, close_price=9.09), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=1190635.22, turnover=1125665.675, open_interest=0, open_price=9.27, high_price=9.55, low_price=9.25, close_price=9.49), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=898390.05, turnover=867160.021, open_interest=0, open_price=9.5, high_price=9.84, low_price=9.43, close_price=9.84), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 27, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=570394.67, turnover=560481.161, open_interest=0, open_price=9.99, high_price=10.08, low_price=9.6, close_price=9.87), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 9, 30, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=1883756.05, turnover=1892937.392, open_interest=0, open_price=10.06, high_price=10.29, low_price=9.82, close_price=10.13), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=1921331.02, turnover=2037070.001, open_interest=0, open_price=10.88, high_price=11.02, low_price=10.2, close_price=10.5), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 9, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=1160727.15, turnover=1183819.44, open_interest=0, open_price=10.5, high_price=10.5, low_price=9.91, close_price=9.91), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 10, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=1016399.27, turnover=1044726.819, open_interest=0, open_price=10.06, high_price=10.49, low_price=10.05, close_price=10.31), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=589376.52, turnover=606557.618, open_interest=0, open_price=10.37, high_price=10.52, low_price=10.02, close_price=10.16), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 14, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=883077.95, turnover=918408.286, open_interest=0, open_price=10.31, high_price=10.54, low_price=10.25, close_price=10.4), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 15, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=629397.33, turnover=654527.534, open_interest=0, open_price=10.45, high_price=10.53, low_price=10.25, close_price=10.25), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 16, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=526149.74, turnover=545095.953, open_interest=0, open_price=10.15, high_price=10.46, low_price=10.15, close_price=10.34), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 17, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=455766.72, turnover=471133.86, open_interest=0, open_price=10.34, high_price=10.48, low_price=10.22, close_price=10.22), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=622062.82, turnover=633125.532, open_interest=0, open_price=10.18, high_price=10.33, low_price=10.02, close_price=10.15), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 21, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=645230.34, turnover=651623.31, open_interest=0, open_price=10.18, high_price=10.22, low_price=9.95, close_price=10.16), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=428033.87, turnover=432235.691, open_interest=0, open_price=10.16, high_price=10.27, low_price=10.01, close_price=10.13), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=335661.74, turnover=341483.787, open_interest=0, open_price=10.12, high_price=10.25, low_price=10.1, close_price=10.18), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=240173.41, turnover=244345.562, open_interest=0, open_price=10.12, high_price=10.25, low_price=10.12, close_price=10.14), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=284199.08, turnover=287640.631, open_interest=0, open_price=10.14, high_price=10.2, low_price=10.07, close_price=10.08), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 28, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=317027.45, turnover=317673.595, open_interest=0, open_price=10.1, high_price=10.1, low_price=9.95, close_price=10.06), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=340698.64, turnover=341853.848, open_interest=0, open_price=10.01, high_price=10.15, low_price=9.97, close_price=9.99), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 30, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=420374.16, turnover=419434.797, open_interest=0, open_price=9.99, high_price=10.12, low_price=9.91, close_price=9.94), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 10, 31, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=600213.67, turnover=589919.638, open_interest=0, open_price=10.01, high_price=10.05, low_price=9.71, close_price=9.84), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=439392.58, turnover=435757.873, open_interest=0, open_price=9.86, high_price=10.0, low_price=9.77, close_price=9.94), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=337732.47, turnover=335231.219, open_interest=0, open_price=9.97, high_price=10.0, low_price=9.84, close_price=9.99), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=414748.15, turnover=414411.28, open_interest=0, open_price=9.97, high_price=10.06, low_price=9.91, close_price=10.06), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 6, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=742087.23, turnover=740524.751, open_interest=0, open_price=10.04, high_price=10.14, low_price=9.9, close_price=9.95), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 7, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=643971.91, turnover=650432.796, open_interest=0, open_price=9.94, high_price=10.28, low_price=9.92, close_price=10.28), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 8, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=537647.28, turnover=545876.293, open_interest=0, open_price=10.33, high_price=10.36, low_price=10.03, close_price=10.06), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=800002.94, turnover=779227.78, open_interest=0, open_price=9.9, high_price=10.12, low_price=9.66, close_price=9.72), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=496827.03, turnover=483318.065, open_interest=0, open_price=9.73, high_price=9.82, low_price=9.66, close_price=9.66), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 13, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=438722.01, turnover=423812.435, open_interest=0, open_price=9.63, high_price=9.74, low_price=9.6, close_price=9.63), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 14, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=454518.96, turnover=438914.972, open_interest=0, open_price=9.61, high_price=9.71, low_price=9.57, close_price=9.65), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 15, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=488212.31, turnover=469147.894, open_interest=0, open_price=9.61, high_price=9.7, low_price=9.5, close_price=9.54), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=1006965.52, turnover=999828.599, open_interest=0, open_price=9.65, high_price=10.1, low_price=9.64, close_price=9.83), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=739982.08, turnover=728900.946, open_interest=0, open_price=9.85, high_price=10.05, low_price=9.67, close_price=9.79), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 20, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=454657.99, turnover=442364.52, open_interest=0, open_price=9.77, high_price=9.85, low_price=9.69, close_price=9.71), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 21, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=296127.55, turnover=287464.178, open_interest=0, open_price=9.71, high_price=9.77, low_price=9.68, close_price=9.72), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=443590.24, turnover=425677.485, open_interest=0, open_price=9.72, high_price=9.75, low_price=9.47, close_price=9.48), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=609219.95, turnover=573140.42, open_interest=0, open_price=9.61, high_price=9.61, low_price=9.31, close_price=9.33), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=489833.89, turnover=454616.327, open_interest=0, open_price=9.32, high_price=9.33, low_price=9.22, close_price=9.31), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 27, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=430074.43, turnover=401498.755, open_interest=0, open_price=9.31, high_price=9.47, low_price=9.18, close_price=9.43), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 28, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=391547.33, turnover=370385.58, open_interest=0, open_price=9.49, high_price=9.54, low_price=9.33, close_price=9.44), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 11, 29, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=465407.42, turnover=443290.385, open_interest=0, open_price=9.52, high_price=9.61, low_price=9.43, close_price=9.46), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 2, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=466042.6, turnover=440070.881, open_interest=0, open_price=9.45, high_price=9.5, low_price=9.37, close_price=9.49), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 3, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=419263.55, turnover=400570.471, open_interest=0, open_price=9.46, high_price=9.65, low_price=9.41, close_price=9.65), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 4, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=511933.85, turnover=496410.995, open_interest=0, open_price=9.65, high_price=9.78, low_price=9.55, close_price=9.75), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 5, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=291735.71, turnover=282719.717, open_interest=0, open_price=9.68, high_price=9.78, low_price=9.63, close_price=9.64), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 6, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=406296.85, turnover=394516.285, open_interest=0, open_price=9.62, high_price=9.79, low_price=9.62, close_price=9.7), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 9, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=325829.28, turnover=315468.554, open_interest=0, open_price=9.65, high_price=9.75, low_price=9.63, close_price=9.66), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 10, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=583386.43, turnover=572248.614, open_interest=0, open_price=9.82, high_price=9.92, low_price=9.71, close_price=9.8), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 11, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=487627.96, turnover=472263.0, open_interest=0, open_price=9.8, high_price=9.84, low_price=9.62, close_price=9.63), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 12, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=496515.26, turnover=482603.362, open_interest=0, open_price=9.65, high_price=9.82, low_price=9.59, close_price=9.82), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 13, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=672668.75, turnover=652085.647, open_interest=0, open_price=9.76, high_price=9.8, low_price=9.6, close_price=9.66), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 16, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=341836.18, turnover=331030.756, open_interest=0, open_price=9.62, high_price=9.75, low_price=9.62, close_price=9.64), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 17, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=411856.94, turnover=394758.764, open_interest=0, open_price=9.65, high_price=9.7, low_price=9.5, close_price=9.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 18, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=397987.41, turnover=381602.845, open_interest=0, open_price=9.56, high_price=9.68, low_price=9.51, close_price=9.54), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 19, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=429877.72, turnover=408829.151, open_interest=0, open_price=9.51, high_price=9.56, low_price=9.42, close_price=9.53), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 20, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=492980.94, turnover=473948.599, open_interest=0, open_price=9.57, high_price=9.72, low_price=9.55, close_price=9.58), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 23, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=1164446.93, turnover=1156091.291, open_interest=0, open_price=9.63, high_price=10.08, low_price=9.6, close_price=9.93), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=844381.52, turnover=851921.287, open_interest=0, open_price=9.89, high_price=10.17, low_price=9.89, close_price=10.13), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 25, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=727396.0, turnover=749135.069, open_interest=0, open_price=10.13, high_price=10.39, low_price=10.13, close_price=10.35), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 26, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=611522.36, turnover=628394.287, open_interest=0, open_price=10.35, high_price=10.39, low_price=10.16, close_price=10.34), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 27, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=695063.74, turnover=714702.134, open_interest=0, open_price=10.33, high_price=10.39, low_price=10.12, close_price=10.36), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 30, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=784778.05, turnover=818657.792, open_interest=0, open_price=10.34, high_price=10.49, low_price=10.31, close_price=10.47), BarData(gateway_name='TS', extra=None, symbol='600000', exchange=<Exchange.SSE: 'SSE'>, datetime=datetime.datetime(2024, 12, 31, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), interval=<Interval.DAILY: 'd'>, volume=577834.43, turnover=602393.523, open_interest=0, open_price=10.43, high_price=10.56, low_price=10.28, close_price=10.29)]\n"
     ]
    }
   ],
   "source": [
    "print(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f2dd945f",
   "metadata": {},
   "outputs": [],
   "source": [
    "engine.add_strategy(AtrRsiStrategy, {})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "d83eebc4",
   "metadata": {},
   "outputs": [],
   "source": [
    "engine.history_data.extend(data)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "bfdc108a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2025-02-25 09:31:37.277332\t策略初始化完成\n",
      "2025-02-25 09:31:37.277332\t开始回放历史数据\n",
      "2025-02-25 09:31:37.277332\t回放进度：= [0%]\n",
      "2025-02-25 09:31:37.277332\t回放进度：== [10%]\n",
      "2025-02-25 09:31:37.277332\t回放进度：=== [20%]\n",
      "2025-02-25 09:31:37.277332\t回放进度：==== [30%]\n",
      "2025-02-25 09:31:37.278846\t回放进度：===== [40%]\n",
      "2025-02-25 09:31:37.278846\t回放进度：====== [50%]\n",
      "2025-02-25 09:31:37.279848\t回放进度：======= [60%]\n",
      "2025-02-25 09:31:37.280845\t回放进度：======== [70%]\n",
      "2025-02-25 09:31:37.280845\t回放进度：========= [80%]\n",
      "2025-02-25 09:31:37.281842\t回放进度：========== [90%]\n",
      "2025-02-25 09:31:37.281842\t回放进度：=========== [100%]\n",
      "2025-02-25 09:31:37.281842\t历史数据回放结束\n",
      "2025-02-25 09:31:37.281842\t开始计算逐日盯市盈亏\n",
      "2025-02-25 09:31:37.283835\t逐日盯市盈亏计算完成\n",
      "2025-02-25 09:31:37.283835\t开始计算策略统计指标\n",
      "2025-02-25 09:31:37.289870\t------------------------------\n",
      "2025-02-25 09:31:37.289870\t首个交易日：\t2024-01-02\n",
      "2025-02-25 09:31:37.289870\t最后交易日：\t2024-12-31\n",
      "2025-02-25 09:31:37.289870\t总交易日：\t242\n",
      "2025-02-25 09:31:37.289870\t盈利交易日：\t5\n",
      "2025-02-25 09:31:37.289870\t亏损交易日：\t19\n",
      "2025-02-25 09:31:37.289870\t起始资金：\t1,000,000.00\n",
      "2025-02-25 09:31:37.289870\t结束资金：\t999,305.15\n",
      "2025-02-25 09:31:37.289870\t总收益率：\t-0.07%\n",
      "2025-02-25 09:31:37.289870\t年化收益：\t-0.07%\n",
      "2025-02-25 09:31:37.289870\t最大回撤: \t-997.74\n",
      "2025-02-25 09:31:37.289870\t百分比最大回撤: -0.10%\n",
      "2025-02-25 09:31:37.289870\t最大回撤天数: \t269\n",
      "2025-02-25 09:31:37.289870\t总盈亏：\t-694.85\n",
      "2025-02-25 09:31:37.289870\t总手续费：\t1.85\n",
      "2025-02-25 09:31:37.289870\t总滑点：\t1,200.00\n",
      "2025-02-25 09:31:37.289870\t总成交金额：\t61,641.00\n",
      "2025-02-25 09:31:37.289870\t总成交笔数：\t20\n",
      "2025-02-25 09:31:37.289870\t日均盈亏：\t-2.87\n",
      "2025-02-25 09:31:37.289870\t日均手续费：\t0.01\n",
      "2025-02-25 09:31:37.289870\t日均滑点：\t4.96\n",
      "2025-02-25 09:31:37.289870\t日均成交金额：\t254.71\n",
      "2025-02-25 09:31:37.289870\t日均成交笔数：\t0.08264462809917356\n",
      "2025-02-25 09:31:37.289870\t日均收益率：\t-0.00%\n",
      "2025-02-25 09:31:37.289870\t收益标准差：\t0.00%\n",
      "2025-02-25 09:31:37.289870\tSharpe Ratio：\t-1.57\n",
      "2025-02-25 09:31:37.289870\tEWM Sharpe：\t-1.39\n",
      "2025-02-25 09:31:37.289870\t收益回撤比：\t-0.70\n",
      "2025-02-25 09:31:37.289870\t策略统计指标计算完成\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "E:\\database\\gitee\\quant25\\01Src\\vnpy\\.venv\\Lib\\site-packages\\vnpy_ctastrategy\\backtesting.py:400: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
      "  ewm_sharpe: float = ((ewm_mean - daily_risk_free) / ewm_std)[-1] * np.sqrt(self.annual_days)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(True, '范围参数添加成功，数量3')"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "engine.run_backtesting()\n",
    "df = engine.calculate_result()\n",
    "engine.calculate_statistics()\n",
    "engine.show_chart()\n",
    "\n",
    "# 优化（如有）\n",
    "setting = OptimizationSetting()\n",
    "setting.set_target(\"sharpe_ratio\")\n",
    "setting.add_parameter(\"atr_length\", 25, 27, 1)\n",
    "setting.add_parameter(\"atr_ma_length\", 10, 30, 10)\n",
    "\n",
    "#engine.run_ga_optimization(setting)\n",
    "#engine.run_bf_optimization(setting)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "291dd314",
   "metadata": {},
   "outputs": [],
   "source": [
    "fig=engine.show_chart()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "d1e6a2f9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Figure({\n",
      "    'data': [{'mode': 'lines',\n",
      "              'name': 'Balance',\n",
      "              'type': 'scatter',\n",
      "              'x': array([datetime.date(2024, 1, 2), datetime.date(2024, 1, 3),\n",
      "                          datetime.date(2024, 1, 4), ..., datetime.date(2024, 12, 27),\n",
      "                          datetime.date(2024, 12, 30), datetime.date(2024, 12, 31)], dtype=object),\n",
      "              'xaxis': 'x',\n",
      "              'y': array([1000000.     ,  999747.66916,  999828.66916, ...,  985980.61642,\n",
      "                           985980.61642,  985980.61642]),\n",
      "              'yaxis': 'y'},\n",
      "             {'fill': 'tozeroy',\n",
      "              'fillcolor': 'red',\n",
      "              'mode': 'lines',\n",
      "              'name': 'Drawdown',\n",
      "              'type': 'scatter',\n",
      "              'x': array([datetime.date(2024, 1, 2), datetime.date(2024, 1, 3),\n",
      "                          datetime.date(2024, 1, 4), ..., datetime.date(2024, 12, 27),\n",
      "                          datetime.date(2024, 12, 30), datetime.date(2024, 12, 31)], dtype=object),\n",
      "              'xaxis': 'x2',\n",
      "              'y': array([     0.     ,   -252.33084,   -171.33084, ..., -14019.38358,\n",
      "                          -14019.38358, -14019.38358]),\n",
      "              'yaxis': 'y2'},\n",
      "             {'name': 'Daily Pnl',\n",
      "              'type': 'bar',\n",
      "              'xaxis': 'x3',\n",
      "              'y': array([   0.     , -252.33084,   81.     , ...,    0.     ,    0.     ,\n",
      "                             0.     ]),\n",
      "              'yaxis': 'y3'},\n",
      "             {'name': 'Days',\n",
      "              'nbinsx': 100,\n",
      "              'type': 'histogram',\n",
      "              'x': array([   0.     , -252.33084,   81.     , ...,    0.     ,    0.     ,\n",
      "                             0.     ]),\n",
      "              'xaxis': 'x4',\n",
      "              'yaxis': 'y4'}],\n",
      "    'layout': {'annotations': [{'font': {'size': 16},\n",
      "                                'showarrow': False,\n",
      "                                'text': 'Balance',\n",
      "                                'x': 0.5,\n",
      "                                'xanchor': 'center',\n",
      "                                'xref': 'paper',\n",
      "                                'y': 1.0,\n",
      "                                'yanchor': 'bottom',\n",
      "                                'yref': 'paper'},\n",
      "                               {'font': {'size': 16},\n",
      "                                'showarrow': False,\n",
      "                                'text': 'Drawdown',\n",
      "                                'x': 0.5,\n",
      "                                'xanchor': 'center',\n",
      "                                'xref': 'paper',\n",
      "                                'y': 0.7350000000000001,\n",
      "                                'yanchor': 'bottom',\n",
      "                                'yref': 'paper'},\n",
      "                               {'font': {'size': 16},\n",
      "                                'showarrow': False,\n",
      "                                'text': 'Daily Pnl',\n",
      "                                'x': 0.5,\n",
      "                                'xanchor': 'center',\n",
      "                                'xref': 'paper',\n",
      "                                'y': 0.47000000000000003,\n",
      "                                'yanchor': 'bottom',\n",
      "                                'yref': 'paper'},\n",
      "                               {'font': {'size': 16},\n",
      "                                'showarrow': False,\n",
      "                                'text': 'Pnl Distribution',\n",
      "                                'x': 0.5,\n",
      "                                'xanchor': 'center',\n",
      "                                'xref': 'paper',\n",
      "                                'y': 0.20500000000000002,\n",
      "                                'yanchor': 'bottom',\n",
      "                                'yref': 'paper'}],\n",
      "               'height': 1000,\n",
      "               'template': '...',\n",
      "               'width': 1000,\n",
      "               'xaxis': {'anchor': 'y', 'domain': [0.0, 1.0]},\n",
      "               'xaxis2': {'anchor': 'y2', 'domain': [0.0, 1.0]},\n",
      "               'xaxis3': {'anchor': 'y3', 'domain': [0.0, 1.0]},\n",
      "               'xaxis4': {'anchor': 'y4', 'domain': [0.0, 1.0]},\n",
      "               'yaxis': {'anchor': 'x', 'domain': [0.7949999999999999, 1.0]},\n",
      "               'yaxis2': {'anchor': 'x2', 'domain': [0.53, 0.7350000000000001]},\n",
      "               'yaxis3': {'anchor': 'x3', 'domain': [0.265, 0.47000000000000003]},\n",
      "               'yaxis4': {'anchor': 'x4', 'domain': [0.0, 0.20500000000000002]}}\n",
      "})\n"
     ]
    }
   ],
   "source": [
    "print(fig)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "65700c4b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "vnpy",
   "language": "python",
   "name": "vnpy"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
